<?php
/**
 * Базовоя модель Acl, наследуя данную модель, любой модуль
 * может добавлять не стандартные правила проверки прав пользователя,
 * на текущее действие.
 * Данная модель содержит обьект Zend_Acl используя который можно добавить любые проверки
 * которые не были описанны в конфиге модуля acl.xml
 * @author nrnwest@gmail.com
 *
 */
abstract  class Arm_Module_Model_Acl
{

	/**
	 * Zend_Acl
	 * 
	 * @var Zend_Acl
	 */
	protected  $_acl;
	
	/**
	 * Модуль
	 * @var string
	 */
	protected  $_module;
	
	/**
	 * Контролер
	 * @var string
	 */
	protected  $_controller;
	
	/**
	 * Действие
	 * @var string
	 */
	protected  $_action;
	
	/**
	 * Контсруктор.
	 * @param $acl
	 * @param $module
	 * @param $controller
	 * @param $action
	 */
	final public function __construct(Zend_Acl $acl, $module, $controller, $action)
	{
		$this->_acl        = $acl;
		$this->_module     = $module;
		$this->_controller = $controller;
		$this->_action     = $action;
		$this->init();
	}
	
	/**
	 * Данный метод могут переопределять дочерние классы.
	 */
	public function init()
	{
	
	}

}